-- card: 39760 from stack: in -- bmap block id: 0 -- flags: 0000 -- background id: 4755 -- name: -- part contents for background part 4 ----- text ----- Another alternative in this case is to declare name to be a character pointer variable rather than an array. Then it may be assigned the address of a constant array direct- ly or immobile space allocated dynamically with the standard malloc() function*: void Person::set(void) { name = "Jack Knapp"; /* no problem with TC. OR use... */ name = malloc((sizeof char) * 80); /* another approach: dynamic allocation */ strcpy(name,"Jack Knapp"); /* no problem if name is allocated dynamically */ } Another circumstance where the handle implementation causes difficulties is when using the standard fread() and fwrite() functions for binary file I/O. The following syntax is needed in this case. (A type name given in parentheses is a CAST**.) HLock(object); /* Mac Toolbox routine to prevent memory moving */ items = fread(*(void**) object,(size_t) sizeof(Class),(size_t) 1,file_pointer); HUnlock(object); -- part contents for background part 7 ----- text ----- 126 -- part contents for background part 27 ----- text ----- Dynamic memory allocation Casts for type conversion -- part contents for background part 20 ----- text ----- Dynamic memory allocation - p197 -- part contents for background part 29 ----- text ----- 35106 47191 -- part contents for background part 23 ----- text ----- Casts for type conversion - p150